#生成器生成方式
# 生成器和迭代器的区别，生成器是自己构建，迭代器可以通过iter 内部函数自己构建，yield
# 方式一：列表推导式得到
l=(i for i in range(10) if i<5)
print(l)
print(type(l))

print(next(l))
print(next(l))

# 方式二：函数生成
def generate():
    for i in range(10):
        yield i

if __name__ == '__main__':
    g=generate()
    print(type(g))
    print(next(g))
    for g1 in g:
        print('生成数据：{}'.format(g1))